1. Field of the Invention
The invention relates to a method for controlling data transfer between a data transmitter and a data receiver through a bus by means of a control device connected to the bus, which controls the data transfer as a function of a channel program containing transfer commands and control commands stored in a memory. The invention also relates to a control device for carrying out the method.
2. Description of the Prior Art
In microcomputer systems it is often necessary to transmit data between a data transmitter, e.g. a memory, and a data receiver, e.g. peripheral equipment. This data transfer between the memory and the peripheral equipment is controlled by a microprocessor To this end, the microprocessor, the memory and the peripheral equipment are connected to a bus in which an address bus, a data bus, and a control bus are combined. The control of the data transfer between the data transmitter and the data receiver occurs as a function of a channel program containing transfer commands and control commands.
A so-called DMA peripheral control has been connected to the bus in order to relieve the microprocessor of the data transfer. The DMA peripheral control controls the data transfer between the data transmitter and data receiver automatically to a great extent. Microcomputer systems with a DMA control are described e.g. in the publication "Elektronik Praxis" No. 9, September 1982, pp, 131 to 134.
As described above, the data transfer is controlled by means of channel commands. A channel command contains the channel command word, which describes the operation to be carried out, and various parameters, as for example the number of bytes to be transmitted, the address of the data transmitter, and the address of the data receiver. Several such channel commands can be joined by so-called concatenation or command linking to form a channel program. Besides the channel commands, which control the actual data transfer, there are also control commands by which organizational tasks are fulfilled. Such an organizational task is at hand after a data transfer has been run, and the next channel command is to be processed only if a pre-established condition is fulfilled. If this condition is not fulfilled, either another channel command must be executed as the next channel command, or the handling of the channel program must be terminated. However, it has not been possible heretofore for such conditional control commands to be carried out automatically by the control device, to relieve the microprocessor.